package com.yuyou.fn.settlement.service;

import com.github.wens.framework.service.ISuperService;
import com.github.wens.mybatisplus.plugins.Page;
import com.yuyou.fn.common.util.Principals;
import com.yuyou.fn.settlement.entity.AccountRecharge;
import com.yuyou.fn.settlement.vo.AccountRechargeQueryVo;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 *
 * AccountRecharge 表数据服务层接口
 *
 */
public interface IAccountRechargeService extends ISuperService<AccountRecharge,Long> {

    AccountRecharge prepareAccountRecharge(Long areaTeamId,Long accountRechargeId,Long mainAccountId, Long campusId, String campusName, BigDecimal amount, String remark, Long operatorId, String operatorName );


    void finishAccountRecharge(Long accountRechargeId,Integer payWay ,String payInfoExt , Principals.Principal principal,BigDecimal amount);

    void cancelAccountRecharge(Long accountRechargeId);

    Long rechargeBalance(Long areaTeamId,Long mainAccountId, Long campusId, String campusName, BigDecimal amount, String remark);


    Page<AccountRecharge> findPageByQuery(AccountRechargeQueryVo accountRechargeQueryVo,int pageNo,int pageSize);

    List<AccountRecharge> findAccountRecharge(Integer state, Date date);


}